\hypertarget{class_api_decoding}{}\doxysubsection{Класс Api\+Decoding}
\label{class_api_decoding}\index{ApiDecoding@{ApiDecoding}}


Класс \mbox{\hyperlink{class_api_decoding}{Api\+Decoding}} является аппаратно-\/программным интерфейсом для взаимодействия модуля mainwindow и динамической библиотеки decoding.  




{\ttfamily \#include $<$apidecoding.\+h$>$}



Граф связей класса Api\+Decoding\+:\nopagebreak
\begin{figure}[H]
\begin{center}
\leavevmode
\includegraphics[width=183pt]{class_api_decoding__coll__graph}
\end{center}
\end{figure}
\doxysubsubsection*{Открытые члены}
\begin{DoxyCompactItemize}
\item 
\mbox{\hyperlink{class_api_decoding_a65e93e41b0391648a7513fa0a3d4dd64}{Api\+Decoding}} ()
\item 
void \mbox{\hyperlink{class_api_decoding_aabb775a11cc9ddb49da83e3665174794}{add\+\_\+to\+\_\+boofer}} (double x, double y)
\begin{DoxyCompactList}\small\item\em add\+\_\+to\+\_\+boofer добавляет пару элементов в \mbox{\hyperlink{class_boofer_g_h}{Boofer\+GH}} $\ast$boofer; \end{DoxyCompactList}\item 
void \mbox{\hyperlink{class_api_decoding_ab98f8e9873b07e6650de0781cba0cec5}{clear\+\_\+boofer}} ()
\begin{DoxyCompactList}\small\item\em clear\+\_\+boofer удаляет данные из буфера (\mbox{\hyperlink{class_boofer_g_h}{Boofer\+GH}} $\ast$boofer). Векторы буфера становятся пустыми \end{DoxyCompactList}\item 
vector$<$ double $>$ \mbox{\hyperlink{class_api_decoding_a47477b24f584d1c726662d0f2b6f7a4b}{lagrange\+\_\+polynom}} ()
\begin{DoxyCompactList}\small\item\em lagrange\+\_\+polynom расчитывает интерполяционный полином Лагранжа по данным из \mbox{\hyperlink{class_boofer_g_h}{Boofer\+GH}} $\ast$boofer \end{DoxyCompactList}\item 
vector$<$ double $>$ \mbox{\hyperlink{class_api_decoding_a2a783cb2757fb448c68d09478ad4fa2a}{split\+\_\+lagrange\+\_\+polynom}} (int max\+\_\+pow)
\begin{DoxyCompactList}\small\item\em split\+\_\+lagrange\+\_\+polynom работает аналогично методу lagrange\+\_\+polynom, но использует только часть узлов интерполяции так чтобы полином не превышал степень max\+\_\+pow \end{DoxyCompactList}\item 
vector$<$ double $>$ \mbox{\hyperlink{class_api_decoding_a276918950c514e65e2f0ae4b5aa2de7e}{least\+\_\+squares\+\_\+polynom}} (int max\+\_\+pow)
\begin{DoxyCompactList}\small\item\em least\+\_\+squares\+\_\+polynom расчитывает полином методом наименьших квадратов по данным из \mbox{\hyperlink{class_boofer_g_h}{Boofer\+GH}} $\ast$boofer \end{DoxyCompactList}\item 
vector$<$ double $>$ \mbox{\hyperlink{class_api_decoding_a6eb7a4b59adb909fcfc454bbab102f6a}{polynom\+\_\+with\+\_\+mistake}} (double mistake)
\begin{DoxyCompactList}\small\item\em polynom\+\_\+with\+\_\+mistake вызывает метод least\+\_\+squares\+\_\+polynom повышая степень, начиная с первой, пока не будет достигнута допустимая ошибка аппроксимации \end{DoxyCompactList}\item 
double \mbox{\hyperlink{class_api_decoding_a6d24fa3a483074088e54c4a8177d05c5}{squared\+\_\+deviation}} ()
\begin{DoxyCompactList}\small\item\em squared\+\_\+deviation расчитывает квадратичное отклонение для данных ГХ \end{DoxyCompactList}\item 
double \mbox{\hyperlink{class_api_decoding_a96e463b655af86be8904d96ad389caab}{correlation}} (vector$<$ double $>$ $\ast$polynom\+\_\+values)
\begin{DoxyCompactList}\small\item\em correlation -\/ расчёт корреляции между значениями полиномиальной функции и значениями входных данных \end{DoxyCompactList}\item 
double \mbox{\hyperlink{class_api_decoding_aa7620c3ae5f7e89e166380399954b62c}{approx\+\_\+mistake}} (vector$<$ double $>$ $\ast$polynom\+\_\+values)
\begin{DoxyCompactList}\small\item\em approx\+\_\+mistake -\/ расчёт ошибки аппроксимации \end{DoxyCompactList}\item 
\mbox{\hyperlink{class_api_decoding_a65e93e41b0391648a7513fa0a3d4dd64}{Api\+Decoding}} ()
\item 
void \mbox{\hyperlink{class_api_decoding_aabb775a11cc9ddb49da83e3665174794}{add\+\_\+to\+\_\+boofer}} (double x, double y)
\item 
void \mbox{\hyperlink{class_api_decoding_ab98f8e9873b07e6650de0781cba0cec5}{clear\+\_\+boofer}} ()
\item 
vector$<$ double $>$ \mbox{\hyperlink{class_api_decoding_a8f5fd18f6de1479ef6f818a506be5ae2}{lagrange\+\_\+polynom}} ()
\item 
vector$<$ double $>$ \mbox{\hyperlink{class_api_decoding_a141bc2c48d27fd5b0975e084d2450a86}{split\+\_\+lagrange\+\_\+polynom}} (int max\+\_\+pow)
\item 
vector$<$ double $>$ \mbox{\hyperlink{class_api_decoding_abfacff19de742abe771ea829d961c766}{least\+\_\+squares\+\_\+polynom}} (int max\+\_\+pow)
\item 
vector$<$ double $>$ \mbox{\hyperlink{class_api_decoding_a9f1afc7f5aa15319c9d296ced1afab53}{polynom\+\_\+with\+\_\+mistake}} (double mistake)
\item 
double \mbox{\hyperlink{class_api_decoding_a6d24fa3a483074088e54c4a8177d05c5}{squared\+\_\+deviation}} ()
\item 
double \mbox{\hyperlink{class_api_decoding_a96e463b655af86be8904d96ad389caab}{correlation}} (vector$<$ double $>$ $\ast$polynom\+\_\+values)
\item 
double \mbox{\hyperlink{class_api_decoding_aa7620c3ae5f7e89e166380399954b62c}{approx\+\_\+mistake}} (vector$<$ double $>$ $\ast$polynom\+\_\+values)
\end{DoxyCompactItemize}
\doxysubsubsection*{Поля данных}
\begin{DoxyCompactItemize}
\item 
\mbox{\hyperlink{class_boofer_g_h}{Boofer\+GH}} $\ast$ \mbox{\hyperlink{class_api_decoding_afc642956da1901aa97b9bedb519fc2d8}{boofer}}
\begin{DoxyCompactList}\small\item\em буфер для хранения градуировочных характеристик \end{DoxyCompactList}\end{DoxyCompactItemize}


\doxysubsubsection{Подробное описание}
Класс \mbox{\hyperlink{class_api_decoding}{Api\+Decoding}} является аппаратно-\/программным интерфейсом для взаимодействия модуля mainwindow и динамической библиотеки decoding. 

См. определение в файле apidecoding.\+h строка 9



\doxysubsubsection{Конструктор(ы)}
\mbox{\Hypertarget{class_api_decoding_a65e93e41b0391648a7513fa0a3d4dd64}\label{class_api_decoding_a65e93e41b0391648a7513fa0a3d4dd64}} 
\index{ApiDecoding@{ApiDecoding}!ApiDecoding@{ApiDecoding}}
\index{ApiDecoding@{ApiDecoding}!ApiDecoding@{ApiDecoding}}
\doxyparagraph{\texorpdfstring{ApiDecoding()}{ApiDecoding()}\hspace{0.1cm}{\footnotesize\ttfamily [1/2]}}
{\footnotesize\ttfamily Api\+Decoding\+::\+Api\+Decoding (\begin{DoxyParamCaption}{ }\end{DoxyParamCaption})}



См. определение в файле apidecoding.\+cpp строка 3


\begin{DoxyCode}{0}
\DoxyCodeLine{4 \{}
\DoxyCodeLine{5     \mbox{\hyperlink{class_api_decoding_afc642956da1901aa97b9bedb519fc2d8}{boofer}} = \textcolor{keyword}{new} \mbox{\hyperlink{class_boofer_g_h}{BooferGH}};}
\DoxyCodeLine{6 \}}

\end{DoxyCode}


Перекрестные ссылки boofer.

\mbox{\Hypertarget{class_api_decoding_a65e93e41b0391648a7513fa0a3d4dd64}\label{class_api_decoding_a65e93e41b0391648a7513fa0a3d4dd64}} 
\index{ApiDecoding@{ApiDecoding}!ApiDecoding@{ApiDecoding}}
\index{ApiDecoding@{ApiDecoding}!ApiDecoding@{ApiDecoding}}
\doxyparagraph{\texorpdfstring{ApiDecoding()}{ApiDecoding()}\hspace{0.1cm}{\footnotesize\ttfamily [2/2]}}
{\footnotesize\ttfamily Api\+Decoding\+::\+Api\+Decoding (\begin{DoxyParamCaption}{ }\end{DoxyParamCaption})}



\doxysubsubsection{Методы}
\mbox{\Hypertarget{class_api_decoding_aabb775a11cc9ddb49da83e3665174794}\label{class_api_decoding_aabb775a11cc9ddb49da83e3665174794}} 
\index{ApiDecoding@{ApiDecoding}!add\_to\_boofer@{add\_to\_boofer}}
\index{add\_to\_boofer@{add\_to\_boofer}!ApiDecoding@{ApiDecoding}}
\doxyparagraph{\texorpdfstring{add\_to\_boofer()}{add\_to\_boofer()}\hspace{0.1cm}{\footnotesize\ttfamily [1/2]}}
{\footnotesize\ttfamily void Api\+Decoding\+::add\+\_\+to\+\_\+boofer (\begin{DoxyParamCaption}\item[{double}]{x,  }\item[{double}]{y }\end{DoxyParamCaption})}



add\+\_\+to\+\_\+boofer добавляет пару элементов в \mbox{\hyperlink{class_boofer_g_h}{Boofer\+GH}} $\ast$boofer; 



См. определение в файле apidecoding.\+cpp строка 8


\begin{DoxyCode}{0}
\DoxyCodeLine{9 \{}
\DoxyCodeLine{10     \mbox{\hyperlink{class_api_decoding_afc642956da1901aa97b9bedb519fc2d8}{boofer}}-\/>\mbox{\hyperlink{class_boofer_g_h_a9e5dc3a863d1f75fbe05a7fdeeb9a9a4}{add}}(x, y);}
\DoxyCodeLine{11 \}}

\end{DoxyCode}


Перекрестные ссылки Boofer\+G\+H\+::add() и boofer.



Используется в Main\+Window\+::line\+\_\+to\+\_\+boofer().

Граф вызовов\+:\nopagebreak
\begin{figure}[H]
\begin{center}
\leavevmode
\includegraphics[width=321pt]{class_api_decoding_aabb775a11cc9ddb49da83e3665174794_cgraph}
\end{center}
\end{figure}
Граф вызова функции\+:
\nopagebreak
\begin{figure}[H]
\begin{center}
\leavevmode
\includegraphics[width=350pt]{class_api_decoding_aabb775a11cc9ddb49da83e3665174794_icgraph}
\end{center}
\end{figure}
\mbox{\Hypertarget{class_api_decoding_aabb775a11cc9ddb49da83e3665174794}\label{class_api_decoding_aabb775a11cc9ddb49da83e3665174794}} 
\index{ApiDecoding@{ApiDecoding}!add\_to\_boofer@{add\_to\_boofer}}
\index{add\_to\_boofer@{add\_to\_boofer}!ApiDecoding@{ApiDecoding}}
\doxyparagraph{\texorpdfstring{add\_to\_boofer()}{add\_to\_boofer()}\hspace{0.1cm}{\footnotesize\ttfamily [2/2]}}
{\footnotesize\ttfamily void Api\+Decoding\+::add\+\_\+to\+\_\+boofer (\begin{DoxyParamCaption}\item[{double}]{x,  }\item[{double}]{y }\end{DoxyParamCaption})}

\mbox{\Hypertarget{class_api_decoding_aa7620c3ae5f7e89e166380399954b62c}\label{class_api_decoding_aa7620c3ae5f7e89e166380399954b62c}} 
\index{ApiDecoding@{ApiDecoding}!approx\_mistake@{approx\_mistake}}
\index{approx\_mistake@{approx\_mistake}!ApiDecoding@{ApiDecoding}}
\doxyparagraph{\texorpdfstring{approx\_mistake()}{approx\_mistake()}\hspace{0.1cm}{\footnotesize\ttfamily [1/2]}}
{\footnotesize\ttfamily double Api\+Decoding\+::approx\+\_\+mistake (\begin{DoxyParamCaption}\item[{vector$<$ double $>$ $\ast$}]{polynom\+\_\+values }\end{DoxyParamCaption})}



approx\+\_\+mistake -\/ расчёт ошибки аппроксимации 


\begin{DoxyParams}{Аргументы}
{\em polynom\+\_\+values} & вектор коэффициентов полинома, где индекс коэффициента в векторе соответствует степени аргумента при которой стоит этот коэффициент \\
\hline
\end{DoxyParams}
\begin{DoxyReturn}{Возвращает}
возвращает ошибку аппроксимации в процентах 
\end{DoxyReturn}


См. определение в файле apidecoding.\+cpp строка 55


\begin{DoxyCode}{0}
\DoxyCodeLine{56 \{}
\DoxyCodeLine{57     \textcolor{keywordflow}{return} \mbox{\hyperlink{namespaceapprox_a8312135459085eaba94cf40deacf1799}{approx::approx\_mistake}}(\&\mbox{\hyperlink{class_api_decoding_afc642956da1901aa97b9bedb519fc2d8}{boofer}}-\/>\mbox{\hyperlink{class_boofer_g_h_aaa352e93d4f0933b7c5212705af01b20}{data\_x}}, \&\mbox{\hyperlink{class_api_decoding_afc642956da1901aa97b9bedb519fc2d8}{boofer}}-\/>\mbox{\hyperlink{class_boofer_g_h_abfaa06f538faffae990172acd7c64b77}{data\_y}}, polynom\_values);}
\DoxyCodeLine{58 \}}

\end{DoxyCode}


Перекрестные ссылки approx\+::approx\+\_\+mistake(), boofer, Boofer\+G\+H\+::data\+\_\+x и Boofer\+G\+H\+::data\+\_\+y.



Используется в Main\+Window\+::boofer\+\_\+to\+\_\+polynom() и polynom\+\_\+with\+\_\+mistake().

Граф вызовов\+:\nopagebreak
\begin{figure}[H]
\begin{center}
\leavevmode
\includegraphics[width=350pt]{class_api_decoding_aa7620c3ae5f7e89e166380399954b62c_cgraph}
\end{center}
\end{figure}
Граф вызова функции\+:\nopagebreak
\begin{figure}[H]
\begin{center}
\leavevmode
\includegraphics[width=350pt]{class_api_decoding_aa7620c3ae5f7e89e166380399954b62c_icgraph}
\end{center}
\end{figure}
\mbox{\Hypertarget{class_api_decoding_aa7620c3ae5f7e89e166380399954b62c}\label{class_api_decoding_aa7620c3ae5f7e89e166380399954b62c}} 
\index{ApiDecoding@{ApiDecoding}!approx\_mistake@{approx\_mistake}}
\index{approx\_mistake@{approx\_mistake}!ApiDecoding@{ApiDecoding}}
\doxyparagraph{\texorpdfstring{approx\_mistake()}{approx\_mistake()}\hspace{0.1cm}{\footnotesize\ttfamily [2/2]}}
{\footnotesize\ttfamily double Api\+Decoding\+::approx\+\_\+mistake (\begin{DoxyParamCaption}\item[{vector$<$ double $>$ $\ast$}]{polynom\+\_\+values }\end{DoxyParamCaption})}

\mbox{\Hypertarget{class_api_decoding_ab98f8e9873b07e6650de0781cba0cec5}\label{class_api_decoding_ab98f8e9873b07e6650de0781cba0cec5}} 
\index{ApiDecoding@{ApiDecoding}!clear\_boofer@{clear\_boofer}}
\index{clear\_boofer@{clear\_boofer}!ApiDecoding@{ApiDecoding}}
\doxyparagraph{\texorpdfstring{clear\_boofer()}{clear\_boofer()}\hspace{0.1cm}{\footnotesize\ttfamily [1/2]}}
{\footnotesize\ttfamily void Api\+Decoding\+::clear\+\_\+boofer (\begin{DoxyParamCaption}{ }\end{DoxyParamCaption})}



clear\+\_\+boofer удаляет данные из буфера (\mbox{\hyperlink{class_boofer_g_h}{Boofer\+GH}} $\ast$boofer). Векторы буфера становятся пустыми 



См. определение в файле apidecoding.\+cpp строка 13


\begin{DoxyCode}{0}
\DoxyCodeLine{14 \{}
\DoxyCodeLine{15     \mbox{\hyperlink{class_api_decoding_afc642956da1901aa97b9bedb519fc2d8}{boofer}}-\/>\mbox{\hyperlink{class_boofer_g_h_a750ac63dc1df683d335430fd2ed376e2}{clear}}();}
\DoxyCodeLine{16 \}}

\end{DoxyCode}


Перекрестные ссылки boofer и Boofer\+G\+H\+::clear().



Используется в Main\+Window\+::open\+\_\+file().

Граф вызовов\+:\nopagebreak
\begin{figure}[H]
\begin{center}
\leavevmode
\includegraphics[width=318pt]{class_api_decoding_ab98f8e9873b07e6650de0781cba0cec5_cgraph}
\end{center}
\end{figure}
Граф вызова функции\+:
\nopagebreak
\begin{figure}[H]
\begin{center}
\leavevmode
\includegraphics[width=350pt]{class_api_decoding_ab98f8e9873b07e6650de0781cba0cec5_icgraph}
\end{center}
\end{figure}
\mbox{\Hypertarget{class_api_decoding_ab98f8e9873b07e6650de0781cba0cec5}\label{class_api_decoding_ab98f8e9873b07e6650de0781cba0cec5}} 
\index{ApiDecoding@{ApiDecoding}!clear\_boofer@{clear\_boofer}}
\index{clear\_boofer@{clear\_boofer}!ApiDecoding@{ApiDecoding}}
\doxyparagraph{\texorpdfstring{clear\_boofer()}{clear\_boofer()}\hspace{0.1cm}{\footnotesize\ttfamily [2/2]}}
{\footnotesize\ttfamily void Api\+Decoding\+::clear\+\_\+boofer (\begin{DoxyParamCaption}{ }\end{DoxyParamCaption})}

\mbox{\Hypertarget{class_api_decoding_a96e463b655af86be8904d96ad389caab}\label{class_api_decoding_a96e463b655af86be8904d96ad389caab}} 
\index{ApiDecoding@{ApiDecoding}!correlation@{correlation}}
\index{correlation@{correlation}!ApiDecoding@{ApiDecoding}}
\doxyparagraph{\texorpdfstring{correlation()}{correlation()}\hspace{0.1cm}{\footnotesize\ttfamily [1/2]}}
{\footnotesize\ttfamily double Api\+Decoding\+::correlation (\begin{DoxyParamCaption}\item[{vector$<$ double $>$ $\ast$}]{polynom\+\_\+values }\end{DoxyParamCaption})}



correlation -\/ расчёт корреляции между значениями полиномиальной функции и значениями входных данных 


\begin{DoxyParams}{Аргументы}
{\em polynom\+\_\+values} & вектор коэффициентов полинома, где индекс коэффициента в векторе соответствует степени аргумента при которой стоит этот коэффициент \\
\hline
\end{DoxyParams}
\begin{DoxyReturn}{Возвращает}
возращает значение корреляции 
\end{DoxyReturn}


См. определение в файле apidecoding.\+cpp строка 50


\begin{DoxyCode}{0}
\DoxyCodeLine{51 \{}
\DoxyCodeLine{52     \textcolor{keywordflow}{return} \mbox{\hyperlink{namespaceapprox_abbe51c832748c9e94ae9990d4934cb76}{approx::correlation}}(\&\mbox{\hyperlink{class_api_decoding_afc642956da1901aa97b9bedb519fc2d8}{boofer}}-\/>\mbox{\hyperlink{class_boofer_g_h_aaa352e93d4f0933b7c5212705af01b20}{data\_x}}, \&\mbox{\hyperlink{class_api_decoding_afc642956da1901aa97b9bedb519fc2d8}{boofer}}-\/>\mbox{\hyperlink{class_boofer_g_h_abfaa06f538faffae990172acd7c64b77}{data\_y}}, polynom\_values);}
\DoxyCodeLine{53 \}}

\end{DoxyCode}


Перекрестные ссылки boofer, approx\+::correlation(), Boofer\+G\+H\+::data\+\_\+x и Boofer\+G\+H\+::data\+\_\+y.

Граф вызовов\+:\nopagebreak
\begin{figure}[H]
\begin{center}
\leavevmode
\includegraphics[width=350pt]{class_api_decoding_a96e463b655af86be8904d96ad389caab_cgraph}
\end{center}
\end{figure}
\mbox{\Hypertarget{class_api_decoding_a96e463b655af86be8904d96ad389caab}\label{class_api_decoding_a96e463b655af86be8904d96ad389caab}} 
\index{ApiDecoding@{ApiDecoding}!correlation@{correlation}}
\index{correlation@{correlation}!ApiDecoding@{ApiDecoding}}
\doxyparagraph{\texorpdfstring{correlation()}{correlation()}\hspace{0.1cm}{\footnotesize\ttfamily [2/2]}}
{\footnotesize\ttfamily double Api\+Decoding\+::correlation (\begin{DoxyParamCaption}\item[{vector$<$ double $>$ $\ast$}]{polynom\+\_\+values }\end{DoxyParamCaption})}

\mbox{\Hypertarget{class_api_decoding_a47477b24f584d1c726662d0f2b6f7a4b}\label{class_api_decoding_a47477b24f584d1c726662d0f2b6f7a4b}} 
\index{ApiDecoding@{ApiDecoding}!lagrange\_polynom@{lagrange\_polynom}}
\index{lagrange\_polynom@{lagrange\_polynom}!ApiDecoding@{ApiDecoding}}
\doxyparagraph{\texorpdfstring{lagrange\_polynom()}{lagrange\_polynom()}\hspace{0.1cm}{\footnotesize\ttfamily [1/2]}}
{\footnotesize\ttfamily vector$<$ double $>$ Api\+Decoding\+::lagrange\+\_\+polynom (\begin{DoxyParamCaption}{ }\end{DoxyParamCaption})}



lagrange\+\_\+polynom расчитывает интерполяционный полином Лагранжа по данным из \mbox{\hyperlink{class_boofer_g_h}{Boofer\+GH}} $\ast$boofer 

\begin{DoxyReturn}{Возвращает}
возвращает вектор коэффициентов полинома, где индекс коэффициента в векторе соответствует степени аргумента при которой стоит этот коэффициент 
\end{DoxyReturn}


См. определение в файле apidecoding.\+cpp строка 18


\begin{DoxyCode}{0}
\DoxyCodeLine{19 \{}
\DoxyCodeLine{20     \textcolor{keywordflow}{return} \mbox{\hyperlink{namespaceapprox_aaf17acf88dbce46e2693919c34f6a5c4}{approx::lagrange}}(\&\mbox{\hyperlink{class_api_decoding_afc642956da1901aa97b9bedb519fc2d8}{boofer}}-\/>\mbox{\hyperlink{class_boofer_g_h_aaa352e93d4f0933b7c5212705af01b20}{data\_x}}, \&\mbox{\hyperlink{class_api_decoding_afc642956da1901aa97b9bedb519fc2d8}{boofer}}-\/>\mbox{\hyperlink{class_boofer_g_h_abfaa06f538faffae990172acd7c64b77}{data\_y}});}
\DoxyCodeLine{21 \}}

\end{DoxyCode}


Перекрестные ссылки boofer, Boofer\+G\+H\+::data\+\_\+x, Boofer\+G\+H\+::data\+\_\+y и approx\+::lagrange().

Граф вызовов\+:\nopagebreak
\begin{figure}[H]
\begin{center}
\leavevmode
\includegraphics[width=350pt]{class_api_decoding_a47477b24f584d1c726662d0f2b6f7a4b_cgraph}
\end{center}
\end{figure}
\mbox{\Hypertarget{class_api_decoding_a8f5fd18f6de1479ef6f818a506be5ae2}\label{class_api_decoding_a8f5fd18f6de1479ef6f818a506be5ae2}} 
\index{ApiDecoding@{ApiDecoding}!lagrange\_polynom@{lagrange\_polynom}}
\index{lagrange\_polynom@{lagrange\_polynom}!ApiDecoding@{ApiDecoding}}
\doxyparagraph{\texorpdfstring{lagrange\_polynom()}{lagrange\_polynom()}\hspace{0.1cm}{\footnotesize\ttfamily [2/2]}}
{\footnotesize\ttfamily vector$<$double$>$ Api\+Decoding\+::lagrange\+\_\+polynom (\begin{DoxyParamCaption}{ }\end{DoxyParamCaption})}

\mbox{\Hypertarget{class_api_decoding_a276918950c514e65e2f0ae4b5aa2de7e}\label{class_api_decoding_a276918950c514e65e2f0ae4b5aa2de7e}} 
\index{ApiDecoding@{ApiDecoding}!least\_squares\_polynom@{least\_squares\_polynom}}
\index{least\_squares\_polynom@{least\_squares\_polynom}!ApiDecoding@{ApiDecoding}}
\doxyparagraph{\texorpdfstring{least\_squares\_polynom()}{least\_squares\_polynom()}\hspace{0.1cm}{\footnotesize\ttfamily [1/2]}}
{\footnotesize\ttfamily vector$<$ double $>$ Api\+Decoding\+::least\+\_\+squares\+\_\+polynom (\begin{DoxyParamCaption}\item[{int}]{max\+\_\+pow }\end{DoxyParamCaption})}



least\+\_\+squares\+\_\+polynom расчитывает полином методом наименьших квадратов по данным из \mbox{\hyperlink{class_boofer_g_h}{Boofer\+GH}} $\ast$boofer 


\begin{DoxyParams}{Аргументы}
{\em max\+\_\+pow} & максимально допустимая степень полинома \\
\hline
\end{DoxyParams}
\begin{DoxyReturn}{Возвращает}
возвращает вектор коэффициентов полинома, где индекс коэффициента в векторе соответствует степени аргумента при которой стоит этот коэффициент 
\end{DoxyReturn}


См. определение в файле apidecoding.\+cpp строка 28


\begin{DoxyCode}{0}
\DoxyCodeLine{29 \{}
\DoxyCodeLine{30     \textcolor{keywordflow}{return} \mbox{\hyperlink{namespaceapprox_abc3e8a47644df941661a6d93dccef791}{approx::least\_squares}}(\&\mbox{\hyperlink{class_api_decoding_afc642956da1901aa97b9bedb519fc2d8}{boofer}}-\/>\mbox{\hyperlink{class_boofer_g_h_aaa352e93d4f0933b7c5212705af01b20}{data\_x}}, \&\mbox{\hyperlink{class_api_decoding_afc642956da1901aa97b9bedb519fc2d8}{boofer}}-\/>\mbox{\hyperlink{class_boofer_g_h_abfaa06f538faffae990172acd7c64b77}{data\_y}}, max\_pow);}
\DoxyCodeLine{31 \}}

\end{DoxyCode}


Перекрестные ссылки boofer, Boofer\+G\+H\+::data\+\_\+x, Boofer\+G\+H\+::data\+\_\+y и approx\+::least\+\_\+squares().



Используется в Main\+Window\+::boofer\+\_\+to\+\_\+polynom() и polynom\+\_\+with\+\_\+mistake().

Граф вызовов\+:\nopagebreak
\begin{figure}[H]
\begin{center}
\leavevmode
\includegraphics[width=350pt]{class_api_decoding_a276918950c514e65e2f0ae4b5aa2de7e_cgraph}
\end{center}
\end{figure}
Граф вызова функции\+:\nopagebreak
\begin{figure}[H]
\begin{center}
\leavevmode
\includegraphics[width=350pt]{class_api_decoding_a276918950c514e65e2f0ae4b5aa2de7e_icgraph}
\end{center}
\end{figure}
\mbox{\Hypertarget{class_api_decoding_abfacff19de742abe771ea829d961c766}\label{class_api_decoding_abfacff19de742abe771ea829d961c766}} 
\index{ApiDecoding@{ApiDecoding}!least\_squares\_polynom@{least\_squares\_polynom}}
\index{least\_squares\_polynom@{least\_squares\_polynom}!ApiDecoding@{ApiDecoding}}
\doxyparagraph{\texorpdfstring{least\_squares\_polynom()}{least\_squares\_polynom()}\hspace{0.1cm}{\footnotesize\ttfamily [2/2]}}
{\footnotesize\ttfamily vector$<$double$>$ Api\+Decoding\+::least\+\_\+squares\+\_\+polynom (\begin{DoxyParamCaption}\item[{int}]{max\+\_\+pow }\end{DoxyParamCaption})}

\mbox{\Hypertarget{class_api_decoding_a6eb7a4b59adb909fcfc454bbab102f6a}\label{class_api_decoding_a6eb7a4b59adb909fcfc454bbab102f6a}} 
\index{ApiDecoding@{ApiDecoding}!polynom\_with\_mistake@{polynom\_with\_mistake}}
\index{polynom\_with\_mistake@{polynom\_with\_mistake}!ApiDecoding@{ApiDecoding}}
\doxyparagraph{\texorpdfstring{polynom\_with\_mistake()}{polynom\_with\_mistake()}\hspace{0.1cm}{\footnotesize\ttfamily [1/2]}}
{\footnotesize\ttfamily vector$<$ double $>$ Api\+Decoding\+::polynom\+\_\+with\+\_\+mistake (\begin{DoxyParamCaption}\item[{double}]{mistake }\end{DoxyParamCaption})}



polynom\+\_\+with\+\_\+mistake вызывает метод least\+\_\+squares\+\_\+polynom повышая степень, начиная с первой, пока не будет достигнута допустимая ошибка аппроксимации 


\begin{DoxyParams}{Аргументы}
{\em mistake} & максимально допустимая ошибка аппроксимации \\
\hline
\end{DoxyParams}
\begin{DoxyReturn}{Возвращает}
возвращает вектор коэффициентов полинома, где индекс коэффициента в векторе соответствует степени аргумента при которой стоит этот коэффициент 
\end{DoxyReturn}


См. определение в файле apidecoding.\+cpp строка 33


\begin{DoxyCode}{0}
\DoxyCodeLine{34 \{}
\DoxyCodeLine{35     vector<double> res;}
\DoxyCodeLine{36     \textcolor{keywordflow}{for}(\textcolor{keywordtype}{unsigned} \textcolor{keywordtype}{int} i = 0; i <= \mbox{\hyperlink{class_api_decoding_afc642956da1901aa97b9bedb519fc2d8}{boofer}}-\/>\mbox{\hyperlink{class_boofer_g_h_aaa352e93d4f0933b7c5212705af01b20}{data\_x}}.size(); i++)}
\DoxyCodeLine{37     \{}
\DoxyCodeLine{38         res = \mbox{\hyperlink{class_api_decoding_a276918950c514e65e2f0ae4b5aa2de7e}{least\_squares\_polynom}}(i);}
\DoxyCodeLine{39         \textcolor{keywordflow}{if}(\mbox{\hyperlink{class_api_decoding_aa7620c3ae5f7e89e166380399954b62c}{approx\_mistake}}(\&res) <= mistake)}
\DoxyCodeLine{40             \textcolor{keywordflow}{return} res;}
\DoxyCodeLine{41     \}}
\DoxyCodeLine{42     \textcolor{keywordflow}{return} res;}
\DoxyCodeLine{43 \}}

\end{DoxyCode}


Перекрестные ссылки approx\+\_\+mistake(), boofer, Boofer\+G\+H\+::data\+\_\+x и least\+\_\+squares\+\_\+polynom().



Используется в Main\+Window\+::boofer\+\_\+to\+\_\+polynom().

Граф вызовов\+:\nopagebreak
\begin{figure}[H]
\begin{center}
\leavevmode
\includegraphics[width=350pt]{class_api_decoding_a6eb7a4b59adb909fcfc454bbab102f6a_cgraph}
\end{center}
\end{figure}
Граф вызова функции\+:\nopagebreak
\begin{figure}[H]
\begin{center}
\leavevmode
\includegraphics[width=350pt]{class_api_decoding_a6eb7a4b59adb909fcfc454bbab102f6a_icgraph}
\end{center}
\end{figure}
\mbox{\Hypertarget{class_api_decoding_a9f1afc7f5aa15319c9d296ced1afab53}\label{class_api_decoding_a9f1afc7f5aa15319c9d296ced1afab53}} 
\index{ApiDecoding@{ApiDecoding}!polynom\_with\_mistake@{polynom\_with\_mistake}}
\index{polynom\_with\_mistake@{polynom\_with\_mistake}!ApiDecoding@{ApiDecoding}}
\doxyparagraph{\texorpdfstring{polynom\_with\_mistake()}{polynom\_with\_mistake()}\hspace{0.1cm}{\footnotesize\ttfamily [2/2]}}
{\footnotesize\ttfamily vector$<$double$>$ Api\+Decoding\+::polynom\+\_\+with\+\_\+mistake (\begin{DoxyParamCaption}\item[{double}]{mistake }\end{DoxyParamCaption})}

\mbox{\Hypertarget{class_api_decoding_a2a783cb2757fb448c68d09478ad4fa2a}\label{class_api_decoding_a2a783cb2757fb448c68d09478ad4fa2a}} 
\index{ApiDecoding@{ApiDecoding}!split\_lagrange\_polynom@{split\_lagrange\_polynom}}
\index{split\_lagrange\_polynom@{split\_lagrange\_polynom}!ApiDecoding@{ApiDecoding}}
\doxyparagraph{\texorpdfstring{split\_lagrange\_polynom()}{split\_lagrange\_polynom()}\hspace{0.1cm}{\footnotesize\ttfamily [1/2]}}
{\footnotesize\ttfamily vector$<$ double $>$ Api\+Decoding\+::split\+\_\+lagrange\+\_\+polynom (\begin{DoxyParamCaption}\item[{int}]{max\+\_\+pow }\end{DoxyParamCaption})}



split\+\_\+lagrange\+\_\+polynom работает аналогично методу lagrange\+\_\+polynom, но использует только часть узлов интерполяции так чтобы полином не превышал степень max\+\_\+pow 


\begin{DoxyParams}{Аргументы}
{\em max\+\_\+pow} & максимально допустимая степень полинома \\
\hline
\end{DoxyParams}
\begin{DoxyReturn}{Возвращает}
возвращает вектор коэффициентов полинома, где индекс коэффициента в векторе соответствует степени аргумента при которой стоит этот коэффициент 
\end{DoxyReturn}


См. определение в файле apidecoding.\+cpp строка 23


\begin{DoxyCode}{0}
\DoxyCodeLine{24 \{}
\DoxyCodeLine{25     \textcolor{keywordflow}{return} \mbox{\hyperlink{namespaceapprox_abe35bfd2086432c0d7deebadb7765f5b}{approx::split\_lagrange}}(\&\mbox{\hyperlink{class_api_decoding_afc642956da1901aa97b9bedb519fc2d8}{boofer}}-\/>\mbox{\hyperlink{class_boofer_g_h_aaa352e93d4f0933b7c5212705af01b20}{data\_x}}, \&\mbox{\hyperlink{class_api_decoding_afc642956da1901aa97b9bedb519fc2d8}{boofer}}-\/>\mbox{\hyperlink{class_boofer_g_h_abfaa06f538faffae990172acd7c64b77}{data\_y}}, max\_pow);}
\DoxyCodeLine{26 \}}

\end{DoxyCode}


Перекрестные ссылки boofer, Boofer\+G\+H\+::data\+\_\+x, Boofer\+G\+H\+::data\+\_\+y и approx\+::split\+\_\+lagrange().

Граф вызовов\+:\nopagebreak
\begin{figure}[H]
\begin{center}
\leavevmode
\includegraphics[width=350pt]{class_api_decoding_a2a783cb2757fb448c68d09478ad4fa2a_cgraph}
\end{center}
\end{figure}
\mbox{\Hypertarget{class_api_decoding_a141bc2c48d27fd5b0975e084d2450a86}\label{class_api_decoding_a141bc2c48d27fd5b0975e084d2450a86}} 
\index{ApiDecoding@{ApiDecoding}!split\_lagrange\_polynom@{split\_lagrange\_polynom}}
\index{split\_lagrange\_polynom@{split\_lagrange\_polynom}!ApiDecoding@{ApiDecoding}}
\doxyparagraph{\texorpdfstring{split\_lagrange\_polynom()}{split\_lagrange\_polynom()}\hspace{0.1cm}{\footnotesize\ttfamily [2/2]}}
{\footnotesize\ttfamily vector$<$double$>$ Api\+Decoding\+::split\+\_\+lagrange\+\_\+polynom (\begin{DoxyParamCaption}\item[{int}]{max\+\_\+pow }\end{DoxyParamCaption})}

\mbox{\Hypertarget{class_api_decoding_a6d24fa3a483074088e54c4a8177d05c5}\label{class_api_decoding_a6d24fa3a483074088e54c4a8177d05c5}} 
\index{ApiDecoding@{ApiDecoding}!squared\_deviation@{squared\_deviation}}
\index{squared\_deviation@{squared\_deviation}!ApiDecoding@{ApiDecoding}}
\doxyparagraph{\texorpdfstring{squared\_deviation()}{squared\_deviation()}\hspace{0.1cm}{\footnotesize\ttfamily [1/2]}}
{\footnotesize\ttfamily double Api\+Decoding\+::squared\+\_\+deviation (\begin{DoxyParamCaption}{ }\end{DoxyParamCaption})}



squared\+\_\+deviation расчитывает квадратичное отклонение для данных ГХ 

\begin{DoxyReturn}{Возвращает}
возвращает квадратичное отклонение 
\end{DoxyReturn}


См. определение в файле apidecoding.\+cpp строка 45


\begin{DoxyCode}{0}
\DoxyCodeLine{46 \{}
\DoxyCodeLine{47     \textcolor{keywordflow}{return} \mbox{\hyperlink{namespaceapprox_a094281e5f6d9247a2472145b60182d5f}{approx::squared\_deviation}}(\&\mbox{\hyperlink{class_api_decoding_afc642956da1901aa97b9bedb519fc2d8}{boofer}}-\/>\mbox{\hyperlink{class_boofer_g_h_abfaa06f538faffae990172acd7c64b77}{data\_y}});}
\DoxyCodeLine{48 \}}

\end{DoxyCode}


Перекрестные ссылки boofer, Boofer\+G\+H\+::data\+\_\+y и approx\+::squared\+\_\+deviation().

Граф вызовов\+:\nopagebreak
\begin{figure}[H]
\begin{center}
\leavevmode
\includegraphics[width=350pt]{class_api_decoding_a6d24fa3a483074088e54c4a8177d05c5_cgraph}
\end{center}
\end{figure}
\mbox{\Hypertarget{class_api_decoding_a6d24fa3a483074088e54c4a8177d05c5}\label{class_api_decoding_a6d24fa3a483074088e54c4a8177d05c5}} 
\index{ApiDecoding@{ApiDecoding}!squared\_deviation@{squared\_deviation}}
\index{squared\_deviation@{squared\_deviation}!ApiDecoding@{ApiDecoding}}
\doxyparagraph{\texorpdfstring{squared\_deviation()}{squared\_deviation()}\hspace{0.1cm}{\footnotesize\ttfamily [2/2]}}
{\footnotesize\ttfamily double Api\+Decoding\+::squared\+\_\+deviation (\begin{DoxyParamCaption}{ }\end{DoxyParamCaption})}



\doxysubsubsection{Поля}
\mbox{\Hypertarget{class_api_decoding_afc642956da1901aa97b9bedb519fc2d8}\label{class_api_decoding_afc642956da1901aa97b9bedb519fc2d8}} 
\index{ApiDecoding@{ApiDecoding}!boofer@{boofer}}
\index{boofer@{boofer}!ApiDecoding@{ApiDecoding}}
\doxyparagraph{\texorpdfstring{boofer}{boofer}}
{\footnotesize\ttfamily \mbox{\hyperlink{class_boofer_g_h}{Boofer\+GH}} $\ast$ Api\+Decoding\+::boofer}



буфер для хранения градуировочных характеристик 



См. определение в файле apidecoding.\+h строка 79



Используется в add\+\_\+to\+\_\+boofer(), Api\+Decoding(), approx\+\_\+mistake(), Main\+Window\+::build\+\_\+\+G\+Hmodel(), clear\+\_\+boofer(), correlation(), lagrange\+\_\+polynom(), least\+\_\+squares\+\_\+polynom(), Main\+Window\+::open\+\_\+file(), polynom\+\_\+with\+\_\+mistake(), split\+\_\+lagrange\+\_\+polynom() и squared\+\_\+deviation().



Объявления и описания членов классов находятся в файлах\+:\begin{DoxyCompactItemize}
\item 
/home/student/alekseev\+\_\+semen/project/include/\mbox{\hyperlink{alekseev__semen_2project_2include_2apidecoding_8h}{apidecoding.\+h}}\item 
/home/student/alekseev\+\_\+semen/project/src/\+Decode\+G\+H/\mbox{\hyperlink{alekseev__semen_2project_2src_2_decode_g_h_2apidecoding_8cpp}{apidecoding.\+cpp}}\end{DoxyCompactItemize}
